<?php 
if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* 自定义辅助函数集合
*/
class Myfunction {

//自定义去空格函数
function mf_trim($str) {

	$str = trim($str);// 首先去掉头尾空格
	$str = preg_replace('/\s(?=\s)/', '', $str);// 接着去掉两个空格以上的
	$str = preg_replace('/[\n\r\t]/', ' ', $str);// 最后将非空格替换为一个空格
	return $str;
}

//自定义截取字数函数
function trimmed_title($text, $limit=12) {
	if ($limit) {
		$val = $this->csubstr($text, 0, $limit);
		return $val[1] ? $val[0]."..." : $val[0];
	} else {
		return $text;
	}
}


function csubstr($text, $start=0, $limit=12) {
	if (function_exists('mb_substr')) {
		$more = (mb_strlen($text, 'UTF-8') > $limit) ? TRUE : FALSE;
		$text = mb_substr($text, 0, $limit, 'UTF-8');
		return array($text, $more);
	} elseif (function_exists('iconv_substr')) {
		$more = (iconv_strlen($text) > $limit) ? TRUE : FALSE;
		$text = iconv_substr($text, 0, $limit, 'UTF-8');
		return array($text, $more);
	} else {
		preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $text, $ar);   
		if(func_num_args() >= 3) {   
			if (count($ar[0])>$limit) {
				$more = TRUE;
				$text = join("",array_slice($ar[0],0,$limit))."..."; 
			} else {
				$more = FALSE;
				$text = join("",array_slice($ar[0],0,$limit)); 
			}
		} else {
			$more = FALSE;
			$text =  join("",array_slice($ar[0],0)); 
		}
		return array($text, $more);
	} 
}

//安全过滤
function safe_convert($string, $html=0) { //Words Filter
	if ($html==0) {
		$string=htmlspecialchars($string, ENT_QUOTES);
		$string=str_replace("<","&lt;",$string);
		$string=str_replace(">","&gt;",$string);
	} else {
		$string=addslashes($string);
	}
	$string=str_replace("\r","<br/>",$string);
	$string=str_replace("\n","<br/>",$string);
	$string=str_replace("\t","&nbsp;&nbsp;",$string);
	$string=str_replace("  ","&nbsp;&nbsp;",$string);
	$string=str_replace('|', '&#124;', $string);
	$string=str_replace("&amp;#96;","&#96;",$string);
	$string=str_replace("&amp;#92;","&#92;",$string);
	$string=str_replace("&amp;#91;","&#91;",$string);
	$string=str_replace("&amp;#93;","&#93;",$string);
	return $string;
}

//除去html
function pregstring( $str ){
$strtemp = trim($str);
$search = array(
"|'|Uis",
"|<script[^>]*?>.*?</script>|Uis", // 去掉 javascript
"|<[\/\!]*?[^<>]*?>|Uis",    // 去掉 HTML 标记
"'&(quot|#34);'i",      // 替换 HTML 实体
"'&(amp|#38);'i",
"|,|Uis",
"|[\s]{2,}|is",
"[&nbsp;]isu",
"|[$]|Uis",
);
$replace = array(
"`",
"",
"",
"",
"",
"",
" ",
" ",
" dollar ",
);
$text = preg_replace($search, $replace, $strtemp);
return $text;
}



function safe_invert($string, $html=0) { //Transfer the converted words into editable characters
	if ($html==0) {
		$string = str_replace("<br/>","\r",$string);
	} else {
		$string = str_replace("<br/>","\r",$string);
		$string = str_replace("&nbsp;"," ",$string);
		$string = str_replace("&","&amp;",$string);
	}
	$string = str_replace("&nbsp;"," ",$string);
	return $string;
}

//半角和全角转换函数，第二个参数如果是0,则是半角到全角；如果是1，则是全角到半角
function SBC_DBC($str,$args2) { 
  $DBC = Array( //全角
		'０' , '１' , '２' , '３' , '４' ,  
		'５' , '６' , '７' , '８' , '９' , 
		'Ａ' , 'Ｂ' , 'Ｃ' , 'Ｄ' , 'Ｅ' ,  
		'Ｆ' , 'Ｇ' , 'Ｈ' , 'Ｉ' , 'Ｊ' , 
		'Ｋ' , 'Ｌ' , 'Ｍ' , 'Ｎ' , 'Ｏ' ,  
		'Ｐ' , 'Ｑ' , 'Ｒ' , 'Ｓ' , 'Ｔ' , 
		'Ｕ' , 'Ｖ' , 'Ｗ' , 'Ｘ' , 'Ｙ' ,  
		'Ｚ' , 'ａ' , 'ｂ' , 'ｃ' , 'ｄ' , 
		'ｅ' , 'ｆ' , 'ｇ' , 'ｈ' , 'ｉ' ,  
		'ｊ' , 'ｋ' , 'ｌ' , 'ｍ' , 'ｎ' , 
		'ｏ' , 'ｐ' , 'ｑ' , 'ｒ' , 'ｓ' ,  
		'ｔ' , 'ｕ' , 'ｖ' , 'ｗ' , 'ｘ' , 
		'ｙ' , 'ｚ' , '－' , '　'  , '：' ,
		'．' , '，' , '／' , '％' , '＃' ,
		'！' , '＠' , '＆' , '（' , '）' ,
		'＜' , '＞' , '＂' , '＇' , '？' ,
		'［' , '］' , '｛' , '｝' , '＼' ,
		'｜' , '＋' , '＝' , '＿' , '＾' ,
		'￥' , '￣' , '｀');
  $SBC = Array( //半角
		'0', '1', '2', '3', '4',  
		'5', '6', '7', '8', '9', 
		'A', 'B', 'C', 'D', 'E',  
		'F', 'G', 'H', 'I', 'J', 
		'K', 'L', 'M', 'N', 'O',  
		'P', 'Q', 'R', 'S', 'T', 
		'U', 'V', 'W', 'X', 'Y',  
		'Z', 'a', 'b', 'c', 'd', 
		'e', 'f', 'g', 'h', 'i',  
		'j', 'k', 'l', 'm', 'n', 
		'o', 'p', 'q', 'r', 's',  
		't', 'u', 'v', 'w', 'x', 
		'y', 'z', '-', ' ', ':',
		'.', ',', '/', '%', '#',
		'!', '@', '&', '(', ')',
		'<', '>', '"', '\'','?',
		'[', ']', '{', '}', '\\',
		'|', '+', '=', '_', '^',
		'$', '~', '`');
	 if($args2==0){
		return str_replace($SBC,$DBC,$str);  //半角到全角
	 }
	 if($args2==1){
		return str_replace($DBC,$SBC,$str);  //全角到半角
	 }else{
		return false;
	 }
} 
/*
$str = "alskdf"; 
echo $str; 
echo "<br>"; 
echo SBC_DBC($str,0);
echo SBC_DBC($str,1); 
*/

}
?>
 